package com.qf.controller;

import org.apache.shiro.authz.annotation.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * 系统管理
 * @author lixu
 */
@RestController
@RequestMapping("/admin")
public class AdminController {

    /**
     * 测试
     * @RequiresRoles(value = {"管理员","开发工程师"}) : Shiro的注解式开发  校验当前用户是否有这些角色
     *
     * logical = Logical.AND : 管理员 AND 开发工程师 多个角色都必须有 才可以访问findAll
     * logical = Logical.OR : 管理员 OR 开发工程师  多个角色只要有一个就可以访问findAll
     *
     *
     *     @RequiresRoles(value = {"管理员"},logical = Logical.OR)
     *     @RequiresPermissions(value = {"sys:user:add","sys:user:del"},logical = Logical.OR)
     *     @RequiresAuthentication //用户必须登录
     *     @RequiresUser
     *
     */
    //@RequiresRoles(value = {"管理员","开发工程师"},logical = Logical.OR)
    @RequiresRoles(value = {"管理员"},logical = Logical.OR)
    @GetMapping("/findAll")
    public Map findAll(){

        Map map = new HashMap<>();
        map.put("message","可以啊小伙跳墙成功!!");
        //查询管理员所有数据信息
        return map;
    }
}
